Skip to main content

Versi 1

FieldIsi
Dokumen IDVBS-PJL-004
DeskripsiPencatatan pembayaran dari customer atas invoice piutang yang terbentuk dari penjualan bertempo, termasuk ringkasan piutang dan pengelolaan status selesai, proses posting, draft, dan selisih
Nomor Revisi1
Tanggal2026-10-04
KeteranganDokumentasi baseline dari dokumentasi fitur demo dan kode FE

1. Ringkasan​

a. In scope​

  • User melihat daftar pembayaran piutang (tanggal, nomor invoice, customer, status, total pembayaran, keterangan)
  • User melihat ringkasan piutang belum dibayar, piutang jatuh tempo, dan piutang terbayar 30 hari terakhir
  • User memfilter daftar berdasarkan tanggal, nomor invoice, nomor invoice transaksi, customer, status (selesai / proses posting / draft / selisih), keterangan, invoice piutang, dan total pembayaran
  • User membuat pembayaran piutang: tanggal, customer, satu atau banyak invoice piutang, metode pembayaran (termasuk titipan DP), biaya selisih bayar, mata uang, dan lampiran
  • User menyimpan pembayaran sebagai draft atau final; selisih pembayaran disimpan sementara sebagai draft
  • User mengubah pembayaran draft, melihat detail, mencetak bukti, memposting ulang, unlock ke draft, dan menghapus draft

b. Catatan​

c. Kesimpulan​

  • [FE] -
  • [BE] -

2. Functional Requirement​

KodeDeskripsi
FR-01Sistem menampilkan daftar invoice bayar piutang beserta status selesai / proses posting / draft
FR-02Sistem menampilkan ringkasan piutang belum dibayar, jatuh tempo, dan terbayar 30 hari terakhir bagi user dengan hak ringkasan keuangan
FR-03User dapat memfilter daftar berdasarkan tanggal, nomor invoice, nomor invoice transaksi, customer, status, keterangan, invoice piutang, dan total pembayaran
FR-04User dapat membuat pembayaran piutang untuk satu customer atas satu atau banyak invoice piutang yang masih bersisa
FR-05User dapat membayar dengan satu atau beberapa metode pembayaran, termasuk memakai titipan DP customer
FR-06Pembayaran final mensyaratkan selisih total pembayaran dan nilai dibayar sama dengan 0; jika tidak, data disimpan sementara sebagai draft
FR-07User dapat mengubah pembayaran piutang draft
FR-08User dapat melihat detail, mencetak bukti, dan memposting ulang pembayaran
FR-09User dapat unlock pembayaran final ke draft dan menghapus pembayaran draft

3. Use Case List​

KodeDeskripsi
UC-01Melihat daftar dan ringkasan pembayaran piutang
UC-02Memfilter daftar pembayaran piutang
UC-03Membuat pembayaran piutang
UC-04Mengubah pembayaran piutang draft
UC-05Melihat detail dan mencetak bukti pembayaran piutang
UC-06Memposting ulang pembayaran piutang
UC-07Membuka kembali (unlock) pembayaran piutang ke draft
UC-08Menghapus pembayaran piutang draft

4. Use Case Scenario​

UC-01 : Melihat daftar dan ringkasan pembayaran piutang​

AktorUser dengan hak lihat pembayaran piutang
DeskripsiUser melihat daftar pembayaran piutang dan ringkasan piutang
PrekondisiUser sudah login
Brand aktif
Alur utama1. User membuka menu Pembayaran Piutang.
2. Sistem menyinkronkan status posting di latar belakang.
3. Sistem menampilkan ringkasan piutang.
4. Sistem menampilkan daftar pembayaran piutang.
Alur negatif- Jika gagal memuat ringkasan, nilai ringkasan 0.
- Jika tidak ada data, tampil daftar kosong.
Bisnis rule- Ringkasan hanya untuk hak #summary-keuangan.
- Status Selesai bila jurnal sudah terposting, Proses Posting bila final tetapi posting belum selesai, Draft bila belum final.
PostkondisiDaftar dan ringkasan tampil
TriggerUser membuka menu Pembayaran Piutang
Kode FRFR-01
FR-02

UC-02 : Memfilter daftar pembayaran piutang​

AktorUser dengan hak lihat pembayaran piutang
DeskripsiUser menyaring daftar pembayaran piutang
PrekondisiHalaman daftar terbuka
Alur utama1. User membuka Filter.
2. User mengisi tanggal, nomor invoice, nomor invoice transaksi, customer, status, keterangan, invoice piutang, dan/atau total pembayaran.
3. Sistem memuat ulang daftar.
Alur negatif- Jika tidak ada data cocok, tampil daftar kosong.
Bisnis rule- Status draft memfilter pembayaran belum final; status selesai, proses posting, dan selisih memfilter pembayaran final.
- Filter nomor invoice transaksi mencari nomor invoice penjualan yang dibayar.
PostkondisiDaftar tampil sesuai filter
TriggerUser mengubah filter
Kode FRFR-03

UC-03 : Membuat pembayaran piutang​

AktorUser dengan hak tambah pembayaran piutang
DeskripsiUser mencatat pembayaran customer atas invoice piutang
PrekondisiUser memiliki hak #pembayaran-piutang basic
Customer memiliki invoice piutang dengan sisa lebih dari 0
Alur utama1. User klik Tambah, atau datang dari invoice penjualan dengan customer dan invoice terisi.
2. User mengisi tanggal, nomor invoice (opsional), customer, dan mata uang.
3. Sistem menampilkan invoice piutang customer yang masih bersisa dan titipan DP yang tersedia.
4. User memilih satu atau banyak invoice piutang dan nominal yang dibayar.
5. User mengisi metode pembayaran, biaya selisih bayar (opsional), dan lampiran (maksimal 2).
6. User klik Simpan Final atau Simpan Draft.
7. Sistem menyimpan pembayaran dan mengunggah lampiran.
Alur negatif- Jika form nota tidak valid, muncul "Ada yang salah di form Nota!".
- Jika informasi kosong, muncul "Form Informasi Harus Diisi".
- Jika metode pembayaran kosong, muncul "Form Metode Pembayaran Harus Diisi".
- Jika nominal titipan melebihi sisa DP, muncul "nominal tidak boleh melebihi sisa dp".
- Jika simpan final tetapi masih ada selisih, muncul peringatan "Selisih total pembayaran dan total nilai dibayar harus 0 ..." dengan pilihan "Simpan Sementara" (draft).
Bisnis rule- Invoice piutang terbentuk otomatis dari penjualan bertempo; yang tampil hanya invoice bukan draft dengan sisa piutang lebih dari 0.
- Selisih pembulatan dicatat di biaya selisih bayar agar selisih menjadi 0.
- Titipan DP yang dapat dipakai hanya DP final milik customer dengan sisa lebih dari 0 dan mata uang yang sama.
PostkondisiPembayaran piutang tersimpan draft atau final
TriggerUser klik Simpan
Kode FRFR-04
FR-05
FR-06

UC-04 : Mengubah pembayaran piutang draft​

AktorUser dengan hak tambah pembayaran piutang
DeskripsiUser memperbarui pembayaran piutang yang masih draft
PrekondisiPembayaran berstatus draft
Alur utama1. User memilih Edit.
2. Sistem memuat pembayaran, invoice piutang, dan metode bayar.
3. User mengubah data lalu menyimpan draft atau final.
4. Sistem memperbarui pembayaran.
Alur negatif- Jika ada batasan hari ini dan tanggal bukan hari ini, muncul "Anda tidak bisa merubah Invoice Piutang yang tidak sama dengan hari ini!".
- Jika masih ada selisih saat final, muncul peringatan selisih dengan pilihan simpan sementara.
Bisnis rule- Baris invoice yang dihapus dikirim dengan penanda deleted.
PostkondisiPembayaran terbarui
TriggerUser klik Edit lalu Simpan
Kode FRFR-07

UC-05 : Melihat detail dan mencetak bukti pembayaran piutang​

AktorUser dengan hak lihat pembayaran piutang
DeskripsiUser melihat detail dan mencetak bukti pembayaran
PrekondisiPembayaran tersedia
Alur utama1. User memilih Lihat.
2. Sistem menampilkan informasi, invoice yang dibayar, dan metode pembayaran.
3. User klik Cetak.
4. Sistem menandai pembayaran tercetak dan mencetak bukti dengan kop surat.
Alur negatif- Jika gagal menandai cetak, muncul pesan error dari sistem.
Bisnis rule- Cetak ulang mengikuti hak reprint.
PostkondisiBukti pembayaran tercetak
TriggerUser klik Lihat / Cetak
Kode FRFR-08

UC-06 : Memposting ulang pembayaran piutang​

AktorUser dengan hak pembayaran piutang
DeskripsiUser meminta sistem memposting ulang jurnal pembayaran yang belum selesai
PrekondisiPembayaran final
Alur utama1. User memilih Posting Ulang di halaman detail.
2. Sistem memposting ulang pembayaran.
3. Muncul pesan berhasil posting ulang invoice.
Alur negatif- Jika gagal, muncul pesan error dari sistem.
Bisnis rule- Posting ulang dijalankan langsung (bukan worker) untuk satu pembayaran.
PostkondisiStatus posting diperbarui
TriggerUser klik Posting Ulang
Kode FRFR-08

UC-07 : Membuka kembali (unlock) pembayaran piutang ke draft​

AktorUser dengan hak draft pembayaran piutang
DeskripsiUser mengubah pembayaran final menjadi draft
PrekondisiPembayaran final
Alur utama1. User memilih "Ubah ke Simpan Draft".
2. Sistem mengubah status pembayaran menjadi draft.
3. Muncul "Berhasil Ubah ke Simpan Draft Invoice ...".
Alur negatif- Jika ditolak sistem, muncul pesan error dari sistem.
Bisnis rule- Menu unlock hanya tampil untuk pembayaran final dan user dengan hak draft.
PostkondisiPembayaran berstatus draft
TriggerUser klik Ubah ke Simpan Draft
Kode FRFR-09

UC-08 : Menghapus pembayaran piutang draft​

AktorUser dengan hak tambah pembayaran piutang
DeskripsiUser menghapus pembayaran piutang yang masih draft
PrekondisiPembayaran draft
Alur utama1. User memilih Hapus.
2. Sistem menghapus pembayaran.
3. Muncul "Berhasil hapus pembayaran piutang dengan nomor invoice ...".
Alur negatif- Jika gagal, muncul pesan error dari sistem.
Bisnis rule- Hapus hanya untuk pembayaran draft.
PostkondisiPembayaran terhapus
TriggerUser klik Hapus
Kode FRFR-09

5. Data Flow Diagram​

DFD-01​

6. Sequence Diagram​

SD-01 — UC-01 : Melihat daftar dan ringkasan pembayaran piutang​

SD-02 — UC-02 : Memfilter daftar pembayaran piutang​

SD-03 — UC-03 : Membuat pembayaran piutang​

SD-04 — UC-04 : Mengubah pembayaran piutang draft​

SD-05 — UC-05 : Melihat detail dan mencetak bukti pembayaran piutang​

SD-06 — UC-06 : Memposting ulang pembayaran piutang​

SD-07 — UC-07 : Membuka kembali (unlock) pembayaran piutang ke draft​

SD-08 — UC-08 : Menghapus pembayaran piutang draft​

7. Table Schema​

8. API Schema​

EndpointStatusPerubahan
GET /invoice-bayar-piutangexisting-
GET /invoice-bayar-piutang/:idexisting-
POST /invoice-bayar-piutangexisting-
PUT /invoice-bayar-piutang/:idexisting-
PUT /invoice-bayar-piutang/invoice-only/:idexisting-
PUT /invoice-bayar-piutang/unlock/:idexisting-
DELETE /invoice-bayar-piutang/:idexisting-
POST /invoice-bayar-piutang/syncexisting-
POST /invoice-bayar-piutang/sync-bulkexisting-
POST /invoice-bayar-hutang/upload/:idexisting-
GET /invoice-piutangexisting-
GET /invoice-dpexisting-
POST /financial-report/invoice-piutang-reportexisting-
POST /financial-report/invoice-bayar-piutang-reportexisting-